package com.task.core.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.task.common.domain.info.KeyAndValue;
import com.task.common.domain.info.PlanInfo;
import com.task.core.dto.request.PlanRequestDTO;

/**
 * @author 迪迦.
 * @date 2024/11/4 17:33
 */
@Mapper
public interface PlanMapper {

  List<PlanInfo> getPlanByPage(PlanRequestDTO request);

  List<KeyAndValue> getPlanForOption(PlanRequestDTO request);

  void addPlan(PlanRequestDTO request);

  Integer modifyPlan(PlanRequestDTO request);

  Integer deletePlan(@Param("code") String refererSourceCode, @Param("userId") Long userId);

  PlanInfo getPlanByCode(String planCode);

  List<PlanInfo> getAllPlan();

  PlanInfo getPlanDetailByCode(PlanRequestDTO planRequestDTO);
}
